package com.mobile.service.mapper;

import com.mobile.service.dto.PensionDeclarationDTO;
import com.mobile.service.dto.PensionDeclarationQueryDTO;
import com.mobile.service.entity.PensionDeclaration;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 养老保险申请 Mapper 接口
 */
@Mapper
public interface PensionDeclarationMapper {

    /**
     * 添加养老保险申请信息
     * @param pensionDeclaration 养老保险申请实体
     * @return 影响行数
     */
    int insertPensionDeclaration(PensionDeclaration pensionDeclaration);

    /**
     * 分页获取养老保险申请列表
     * @param queryDTO 查询条件
     * @return 养老保险申请列表
     */
    List<PensionDeclarationDTO> pensionDeclarationlistPage(PensionDeclarationQueryDTO queryDTO);

    /**
     * 条件查询养老保险申请列表
     * @param queryDTO 查询条件
     * @return 养老保险申请列表
     */
    List<PensionDeclarationDTO> getPensionDeclarationList(PensionDeclarationQueryDTO queryDTO);

    /**
     * 根据主键获取养老保险申请信息
     * @param id 主键ID
     * @return 养老保险申请信息
     */
    PensionDeclarationDTO getPensionDeclarationById(@Param("id") String id);

    /**
     * 根据申请人姓名获取养老保险申请信息
     * @param applicantName 申请人姓名
     * @return 养老保险申请信息
     */
    PensionDeclarationDTO getPensionDeclarationByApplicantName(@Param("applicantName") String applicantName);

    /**
     * 修改养老保险申请信息
     * @param pensionDeclaration 养老保险申请实体
     * @return 影响行数
     */
    int updatePensionDeclaration(PensionDeclaration pensionDeclaration);

    /**
     * 删除养老保险申请信息
     * @param id 主键ID
     * @return 影响行数
     */
    int deletePensionDeclaration(@Param("id") String id);
}